<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
            定义一个 MyArray 类 
                数组
                    length
                    push
        */
        function MyArray(length) {
            // 判断 没有第一个参数，添加一个length属性默认为0
            if (length == undefined) {
                this.length = 0
            } else {
                // 如果传入了第一个参数，添加length属性，值 为传进来的值
                this.length = length;
            }

            // 添加方法
            this.push = function (arg1) {
                // 对象--添加一个属性 
                // 每次 push  都添加一个属性 属性名根当前的length
                // {lenght:1,0:11}
                this[this.length] = arg1;
                this.length++;
            }

        }
        let arr = new MyArray();
        console.log(arr.length);//0 

        let arr2 = new MyArray(10);
        console.log(arr.length);//10


        arr.push(1);
        arr.push(2);
        console.log(arr[0]);//1 
        console.log(arr[1]);//2 

        console.log(arr);







    </script>

</body>

</html>